#ifndef LINKLIST_H
#define LINKLIST_H
#include "header.h"

typedef int LinkListType;
typedef struct SingleLinkListNode{
    LinkListType data;
    SingleLinkListNode * next;
}SingleLinkListNode;

class SingleLinkList
{
private:
    SingleLinkListNode * list;
    SingleLinkListNode * tail;
    SingleLinkListNode * tail_head;
public:
    SingleLinkList();
    void headInsert(LinkListType data);
    void tailInsert(LinkListType data);
    void traverse(void);
    /**
     * @brief traverse_fortail
     * 验证单链表的未插入（打印该方法生成的链表，只是头节点不好确定），未找到方法
     */
    void traverse_fortail(void);
    void printTail(void);
    LinkListType getNode(int pos);
};

class StaticLinkList
{
public:
    StaticLinkList();
};

class DoubleLinkList
{
public:
    DoubleLinkList();
};

class LoopLinkList
{
public:
    LoopLinkList();
};

#endif // LINKLIST_H
